-
Notifications
You must be signed in to change notification settings - Fork 137
Add TCPRoute and UDPRoute Support for L4 Load Balancing #3688
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Hi @Skcey! Welcome to the project! 🎉 Thanks for opening this pull request! |
✅ All required contributors have signed the F5 CLA for this PR. Thank you! |
I have hereby read the F5 CLA and agree to its terms |
recheck |
| datasource | package | from | to | | ----------- | --------------------- | ------- | ------- | | github-tags | goreleaser/goreleaser | v2.11.1 | v2.11.2 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | -------------------------- | ------- | ------- | | github-tags | google-github-actions/auth | v2.1.11 | v2.1.12 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | ---------------------- | ------ | ------ | | github-tags | golangci/golangci-lint | v2.3.0 | v2.3.1 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | ---------------------- | ------ | ------ | | github-tags | docker/metadata-action | v5.7.0 | v5.8.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
) | datasource | package | from | to | | ---------- | ----------------------------------- | ------- | ------- | | go | github.com/prometheus/client_golang | v1.22.0 | v1.23.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Adjust logging when resolving endpoints so that it no longer sends an error message but is instead a debug log message. Also, add a debug log message upon successful resolving of endpoints.
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | ------------------- | ------ | ------ | | github-tags | docker/login-action | v3.4.0 | v3.5.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | --------------------------- | ------- | ------- | | github-tags | reviewdog/action-actionlint | v1.65.2 | v1.66.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Add connection to NGINX One Console by configuring Agent to sent telemetry data to NGINX One Console endpoint. Problem: Users of NGF and NGINX One Console would like to see fleet management telemetry in their console. Solution: Update NGINX Agent configuration to send telemetry data to NGINX One Console when a user specifies their data plane key secret. Testing: Added unit tests and manually verified NGF metrics are sent to the NGINX One Console when using a staging endpoint.
| datasource | package | from | to | | ----------- | ------------------- | ------ | ------ | | github-tags | anchore/scan-action | v6.5.0 | v6.5.1 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | ------------------------- | ------ | ------ | | github-tags | actions/download-artifact | v4.3.0 | v5.0.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Problem: In some environments, Pods could share an IP address (for example when a Job completes and a new Pod grabs that IP). This would cause problems when the nginx data plane Pod would attempt to connect to the control plane. The control plane would try to validate the token provided by the nginx agent, by using the IP address in the request to lookup the associated Pod. If multiple Pods existed with that IP address, the control plane would error out. Solution: Fix the control plane logic to use more criteria when getting the proper Pod to verify the provided token.
| datasource | package | from | to | | ---------- | ----------------------- | ------- | ------- | | helm | opentelemetry-collector | 0.130.0 | 0.130.1 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | -------------------- | ------- | ------- | | github-tags | github/codeql-action | v3.29.5 | v3.29.8 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | ------------- | ------ | ------ | | github-tags | actions/cache | v4.2.3 | v4.2.4 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Update module google.golang.org/protobuf to v1.36.7 | datasource | package | from | to | | ---------- | -------------------------- | ------- | ------- | | go | google.golang.org/protobuf | v1.36.6 | v1.36.7 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> * Update tests directory --------- Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Saylor Berman <[email protected]>
| datasource | package | from | to | | ----------- | --------------------- | ------- | ------- | | github-tags | goreleaser/goreleaser | v2.12.3 | v2.12.4 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | --------------------- | ------ | ------ | | github-tags | ossf/scorecard-action | v2.4.2 | v2.4.3 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Update main docs for Release 2.1.3.
Update with NFR test results for NGF version edge ["oss","plus"] Co-authored-by: nginx-bot <[email protected]> Co-authored-by: bjee19 <[email protected]>
Update Dockerfile alpine packages libcrpyto3 and libssl3 to fix cves.
Update main docs for Release 2.1.4.
I'm truly sorry for letting this matter linger for so long due to my personal reasons. Currently, I've sorted out all my personal affairs and was just planning to wrap up this feature soon. However, I'm aware of my limited capabilities, and the progress might be a bit slow. My current plan is to spend one week finishing it,starting from now. If there's no real urgency on your end, could you please give me one more week to finish the remaining work on my own? If time is pressing, I'd also be very grateful if you could step in directly to help complete the rest. |
| datasource | package | from | to | | ---------- | ----------------- | ---- | ---- | | docker | docker/dockerfile | 1.18 | 1.19 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@Skcey No need to apologise at all! We were just checking in to see if you needed any additional support. The feature is fantastic and something we had even planned to do ourselves, so we really appreciate you taking it on. Looking forward to seeing your updates, and feel free to reach out if you need any help! |
…nx#3999) | datasource | package | from | to | | ---------- | ---------------------------------------- | ------ | ------ | | go | github.com/nginx/nginx-gateway-fabric/v2 | v2.1.1 | v2.1.4 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | --------------------- | ------- | ------- | | github-tags | goreleaser/goreleaser | v2.12.4 | v2.12.5 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Problem: As a cluster operator managing traffic for an OpenShift cluster I want easily deploy NGF as my Gateway API implementation from the Operator Hub So that it is easier for me to try out and use NGF for my OpenShift environment. Solution: Add UBI based images and an Operator so we can begin the RedHat Operator Certification process and get NGF into the RedHat Certified OperatorHub
…c406 (nginx#4013) Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | ----------- | ------ | ------ | | github-tags | nginx/agent | v3.3.1 | v3.3.2 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | ------------- | ------- | ------- | | github-tags | actions/stale | v10.0.0 | v10.1.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ----------- | -------------------- | ------- | ------- | | github-tags | github/codeql-action | v3.30.5 | v3.30.6 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ---------- | ----------------- | ---- | ---- | | docker | docker/dockerfile | 1.18 | 1.19 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
| datasource | package | from | to | | ---------- | ------------------------- | ------- | ------- | | go | github.com/onsi/ginkgo/v2 | v2.25.3 | v2.26.0 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
updates: - [github.com/scop/pre-commit-shfmt: v3.11.0-1 → v3.12.0-2](scop/pre-commit-shfmt@v3.11.0-1...v3.12.0-2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Update operator controller name to include operator and add required annotation for OpenShift
| datasource | package | from | to | | ---------- | ------------------------------ | ------- | ------- | | go | sigs.k8s.io/controller-runtime | v0.22.1 | v0.22.2 | Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Proposed changes
Problem:
NGF currently lacks support for TCPRoute and UDPRoute resources, which are essential for managing Layer 4 (TCP/UDP) traffic via the Gateway API.
Solution:
This PR adds basic support for TCPRoute and UDPRoute to NGF, enabling Layer 4 load balancing. Key implementations include:
Testing:
Packaged into an image and tested in my environment.
Closes #3687
Checklist
Before creating a PR, run through this checklist and mark each as complete.
Release notes
If this PR introduces a change that affects users and needs to be mentioned in the release notes,
please add a brief note that summarizes the change.